package day16;
//通过继承Thread类，重写run()实现线程
public class TestThread extends Thread{
    //表示线程的执行逻辑，run()开始走了，线程开始执行
    //run结束了，线程走完了，死亡了
    public void run() {
        //获取当前线程
       Thread currentThread= Thread.currentThread();
       //获取线程名称
        String name=currentThread.getName();
        for (int i=0;i<100;i++){
            System.out.println(name+" "+i);
        }
    }

    public static void main(String[] args) {
        TestThread tt1=new TestThread();
        tt1.setName("张三");
        TestThread tt2=new TestThread();
        tt2.setName("李四");
        //线程开启调用start()和调用run()的区别是什么？---面试题
        //错误的，虽然程序通过，但不是开启线程，只是一个普通对象
        //调用一个普通方法，都是main线程来执行的

//        tt1.run();
//        tt2.run();
        //正确的  start()才会启动线程，但是切记，不会立即执行，
        //是属于就绪状态，等线程去抢到cpu，才能进入运行状态(执行run())
        tt1.start();
        tt2.start();

    }
}
